package cn.intotw.rdcj.task.spiders.service;

import cn.intotw.rdcj.task.bean.dto.BookContentBookQueryDto;
import cn.intotw.rdcj.task.bean.dto.BookListBookQueryDto;
import cn.intotw.rdcj.task.bean.dto.BookSectionsBookQueryDto;
import cn.intotw.rdcj.task.bean.vo.BookContentQueryVo;
import cn.intotw.rdcj.task.bean.vo.BookListQueryVo;
import cn.intotw.rdcj.task.bean.vo.BookSectionsQueryVo;

import java.net.URISyntaxException;
import java.util.List;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeoutException;

/**
 * Created by Chenxiang
 *
 * @generator: IntelliJ IDEA
 * @description: 接口
 * @project: rdcj
 * @package: cn.intotw.rdcj.task.spiders.facede
 * @date: 2020年07月27日 14时14分
 */
public interface BookService {
    /**
     * @param bookListQueryDto 书籍
     * @return cn.intotw.rdcj.core.bean.Result<cn.intotw.rdcj.task.bean.vo.BookListQueryVo>
     * @author Chenxiang
     * @date 2020/7/27 14:16
     **/
    List<BookListQueryVo> queryBook(BookListBookQueryDto bookListQueryDto) throws URISyntaxException, Exception;

    /**
     * @param bookSectionsQueryDto 章节列表查询
     * @return cn.intotw.rdcj.core.bean.Result<cn.intotw.rdcj.task.bean.vo.BookSectionsQueryVo>
     * @author Chenxiang
     * @date 2020/7/27 14:16
     **/
    List<BookSectionsQueryVo> querySections(BookSectionsBookQueryDto bookSectionsQueryDto) throws InterruptedException, ExecutionException, TimeoutException, Exception;

    /**
     * @param bookContentQueryDto 章节列表查询
     * @return cn.intotw.rdcj.core.bean.Result<cn.intotw.rdcj.task.bean.vo.BookContentQueryVo>
     * @author Chenxiang
     * @date 2020/7/27 14:16
     **/
    BookContentQueryVo queryContent(BookContentBookQueryDto bookContentQueryDto);

}
